|
FEXP Solver
1.0.0.0
|
#include "FEXPConcurency.h"
Macros | |
| #define | WAIT_TASK_TIME 20 |
| #define | PROGRESS_WIDTH 73 |
| #define | PROGRESS_MAXVL 100 |
| #define | PROGRESS_INDIC '*' |
| #define | BARCOMPARATOR(to_compare) ([this]()->bool { return _barrier_state == (to_compare); }) |
| #define | WAIT(bar_state) { _cond_var.wait(lock, BARCOMPARATOR(bar_state)); } |
| #define | SET_AND_NOTIFY(bar_state) { _barrier_state = (bar_state); _cond_var.notify_all(); } |
| #define | SEMAFOR(counter, value, bar_state) { if ((counter) == (value)) SET_AND_NOTIFY(bar_state) else WAIT(bar_state) } |
| #define | ERROR_WIN_BARRIER "Error: No suitable version of Windows OS for use win. barrier (Win. ver. 8 and later is required)!!!" |
| #define | WIN_SPIN_NUM -1 |
| #define | WIN_CONTROL_FLAG 0 |
| #define | THREAD_INIT_ID 1 |
| #define BARCOMPARATOR | ( | to_compare | ) | ([this]()->bool { return _barrier_state == (to_compare); }) |
| #define ERROR_WIN_BARRIER "Error: No suitable version of Windows OS for use win. barrier (Win. ver. 8 and later is required)!!!" |
| #define PROGRESS_INDIC '*' |
| #define PROGRESS_MAXVL 100 |
| #define PROGRESS_WIDTH 73 |
| #define SEMAFOR | ( | counter, | |
| value, | |||
| bar_state | |||
| ) | { if ((counter) == (value)) SET_AND_NOTIFY(bar_state) else WAIT(bar_state) } |
| #define SET_AND_NOTIFY | ( | bar_state | ) | { _barrier_state = (bar_state); _cond_var.notify_all(); } |
| #define THREAD_INIT_ID 1 |
| #define WAIT | ( | bar_state | ) | { _cond_var.wait(lock, BARCOMPARATOR(bar_state)); } |
| #define WAIT_TASK_TIME 20 |
| #define WIN_CONTROL_FLAG 0 |
| #define WIN_SPIN_NUM -1 |